    <?php

class Application_Model_ItemPedido extends Zend_Db_Table_Abstract {

    protected $_name = 'item_pedido';
    protected $_primary = 'iditem';
    private static $instance;
    protected $_schema = 'pub';

    public static function getInstance() {
        if (!isset(self::$instance)) {
            self::$instance = new Application_Model_ItemPedido();
            return self::$instance;
        }
        return self::$instance;
    }

    public function insert($data) {
        if (isset($data['idproduto']) && isset($data['quantidade']) && isset($data['atendido']) && isset($data['pedido'])){
            parent::insert($data);
        }else{
            die('erro Application_Model_ItemPedido');
        }
    }

    public function update(array $data) {
        $where = 'iditem = ' . $data['iditem'];
        parent::update($data, $where);
    }
    
    public function atendido($data){
        $sql = ' update item_pedido set atendido = 1 where pedido = '.$data['pedido'];
        $this->getAdapter()->query($sql);
    }

    public function getById($id) {
        return $this->fetchRow("iditem = " . $id);
    }

    public function getAll(){
        $sql = 'select * from '.$this->_schema.'.'.$this->_name;
        return $this->getAdapter()->fetchAll($sql);
    }

    public function getList(){
        $sql = 'select idmesa,lugares from '.$this->_schema.'.'.$this->_name;
        return $this->getAdapter()->fetchAll($sql);
    }
    
    public function getItens($date){
        $sql= "select ip.iditem as iditem,r.mesa,ip.idproduto,ip.pedido,pr.produto,pr.preco, sum(quantidade) as qnttotal,pr.preco*sum(quantidade) as vlrtotal
                from item_pedido ip
                left join pedidos p on ip.pedido = p.idpedido
                left join reservas r on r.idreservas = p.idreservas
                left join produtos pr on pr.idprodutos = ip.idproduto
                where r.data = '$date'
                and r.hora_saida is null
                and ip.atendido = 0
                group by ip.idproduto,r.mesa
                order by r.mesa,ip.iditem";
        return $this->getAdapter()->fetchAll($sql);
    }
    
    
    public function remove($id){
        $where = ' idmesa = ' .$id;
        parent::delete($where);
    }
    
    
}